import React from 'react';
import { Card } from 'antd';
import classNames from 'classnames';
import qianmoReportDesign from 'dev-qianmo/dist/bbxt-designer';
import "dev-qianmo/dist/bbxt-designer.css";
import { getReportDesignData } from '@/services/reportDesignApi';
import { getReportInitConfig } from "./ReportDesign";
import styles from './index.less';

class ReportDesign extends React.PureComponent {
    constructor(props) {
        super(props);
        this.state = {
            type: "design"
        }
    }

    componentDidMount() {
        const type = this.props.type;
        // 获取对应模式下参数
        const commonInitData = getReportInitConfig(type);
        // 定义加载设计器参数
        const buildReportApp = {
            type: type, // 加载设计器类型 0：设计模式 1：填报模式 2：查看模式 3：权限设置模式
            id: "QianMoApp", // 设计器的id
            menuConfig: commonInitData.menuConfig, // 设计器菜单栏配置
            sliderBarDefaultConfig: commonInitData.sliderBarDefaultConfig, // 侧边栏初始配置
            sheetDefaultConfig: commonInitData.sheetDefaultConfig, // sheet初始配置
            sliderBarConfig: commonInitData.sliderBarConfig,//sliderBarDefault
            FuncListConfig: commonInitData.FuncListConfig,//公式框中json
        };
        // 先渲染设计器
        qianmoReportDesign.buildReportApp(buildReportApp);

        // 渲染报表表样及数据
        // 获取初始化数据后端地址
        const initUrl = commonInitData.initUrl;
        // 获取初始化数据加载设计器
        const designPromise = getReportDesignData(initUrl);
        designPromise.then((res) => {
            var initData = commonInitData.TranformInitData(res);

            // 定义渲染sheet数据参数
            var sheetInitData = {
                data: commonInitData.data,
                initData: initData,
            };
            // 调用加载设计器方法加载设计器
            qianmoReportDesign.buildReportAppData(sheetInitData);

            if (commonInitData.sliderBarConfig) {
                qianmoReportDesign.sliderBarInit(commonInitData.sliderBarConfig);
            }
        });
        // $http.get(initUrl).then(function (res) {
        //     angular.loading.hide();

        //     if (res.status === 200) {
        //         var initData = commonInitData.TranformInitData(res.data, type);
        //         console.log("initData", JSON.stringify(initData));

        //         // 定义渲染sheet数据参数
        //         var sheetInitData = {
        //             data: commonInitData.data,
        //             initData: initData,
        //         };
        //         // 调用加载设计器方法加载设计器
        //         Worksheet.buildReportAppData(sheetInitData);

        //         if (commonInitData.sliderBarConfig) {
        //             Worksheet.sliderBarInit(commonInitData.sliderBarConfig);
        //         }
        //     } else {
        //         toastr.error("该报表不存在");
        //     }
        // });
    }

    render() {
        const { type } = this.props;
        var allType = ["design", "report", "view", "authority"];

        return (
            <div id='QianMoApp' className='QianMo' style={{ height: "600px" }}>
            </div>
        );
    }
}

export default ReportDesign;
